issues: record the cross-session concurrency hazards seen on this task - #1513
Conversation
#155 logs what repeatedly went wrong while several agent sessions worked the same branches and the same ledger file: a PR closed unmerged by another actor while auto-merge was armed (losing its unique content), pushes from other sessions causing non-fast-forward rejections, one of which was hidden because the push was piped to tail, the guard-push auto-merge sentinel correctly refusing a racing push, and ledger ids renumbered underneath in-flight work. The practical rules: merge a green ledger-only PR rather than arming it, confirm a push with git ls-remote rather than the command's exit code, and expect ids and wording to move between reading and writing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
Warning Review limit reachedYou’ve reached a temporary PR review limit under our Fair Usage Limits Policy. Next review available in: 11 minutes Your organization has reached its usage spending cap. Adjust your spending cap in the billing tab. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
Comment |
|
Temporarily closing to preserve the serialized merge queue while #1510 completes exact-head validation. This PR will be reviewed in the next queue slot. |
Summary
Ledger-only.
#155records the cross-session concurrency hazards that repeatedly cost work during one task, none of which were logged anywhere.Several agent sessions (this one, a Cursor Agent, and Codex sessions) were editing the same
claude/*branches and the samedocs/outstanding-issues.mdat once. What went wrong:#152. Arming is not completion.tail, so the reported exit code wastail's and the push read as successful.scripts/guard-push.mjscorrectly refused a racing push withPushing now races the squash-merge and can orphan this commit, which required disarming auto-merge, pushing, then re-arming. The guard did its job; the workflow around it did not anticipate it.#135→#141→#144), which is the mechanism behind#154.The practical rules the row carries: merge a green ledger-only PR rather than arming it; confirm a push with
git ls-remoterather than the command's exit code; expect ids and row wording to move between reading and writing.This PR follows its own advice — the push above was verified by
ls-remotematching localHEAD, and CI will be read through the Actions endpoint per#151.Verification
npm run check:outstanding-issues—153 rows (45 open, 108 archived), unique ids, next-id=156 above the highest, no ids deleted from base 46c2c1e57167npm run docs:check-links—1415 repo path references resolveOnly
docs/outstanding-issues.mdis touched.🤖 Generated with Claude Code